#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>

void sigchld_t(int signum){
	printf("%s\n",strsignal(signum));
	wait(NULL);
}

typedef void (*sighandler_t)(int);
int main(){
	sighandler_t handler=signal(SIGCHLD,sigchld_t);
	if(handler==SIG_ERR){
		psignal(SIGCHLD,"signal");
		exit(1);
	}
	pid_t pid=fork();
	if(pid==-1){
		sleep(1);
		perror("fork");
		exit(1);
	}
	if(pid==0){
		printf("fork\n");
		exit(0);
	}else{
		pause();
		printf("Main OK\n");
	}
	return 0;
}
